System and method for subpixel rendering and display driver

ABSTRACT

A system and method for rendering subpixels comprising performing an eight-color halftoning process on the second image data to generate third image data which describe a grayscale value of each of an R subpixel, a G subpixel and a B subpixel of each pixel with one bit, generating the third image data by performing a dithering process on the second image data using a dither value selected from elements of the dither table, when the third image data associated with a pixel of interest of the display panel is generated, and driving the display panel in response to the third image data.

CROSS REFERENCE

This application is a continuation of U.S. patent application Ser. No.15/868,317 filed Jan. 11, 2018, which claims priority of Japanese PatentApplication No. 2017-003271, filed on Jan. 12, 2017, and Japanese PatentApplication No. 2017-004528, filed on Jan. 13, 2017, the disclosures ofwhich are incorporated herein by reference.

TECHNICAL FIELD

The present disclosure relates to a display driver, a display device andan image processing circuitry, more particularly, to subpixel rendering.

BACKGROUND ART

The subpixel rendering is a technique for displaying an image with aresolution higher than the original resolution of a display device, suchas OLED (organic light emitting diode) display panels and LCD (liquidcrystal display) panels, by performing image data processing on imagedata of the original image. In the following, image data process forachieving subpixel rendering may be referred to as subpixel renderingprocess. A subpixel rendering process involves generating image dataused for driving M pixels of a display device from image data associatedwith N pixels of the original image, where N and M are natural numberssatisfying N>M.

A subpixel rendering process is achieved in light of gammacharacteristics of the display device. Discussed below is the case whereimage data used for driving one pixel of a display device is generatedfrom image data associated with two pixels of the original image througha subpixel rendering process, while the grayscale value of each subpixelis represented by eight bits in the image data of the original image andthe image data used for driving each pixel of the display device. Whenthe grayscale values of the R subpixels of first and second pixels aredescribed as being “255” and “0”, respectively, in the image data of theoriginal image, and the grayscale value of the R subpixel of thecorresponding pixel of the display device is calculated by simplyaveraging the grayscale values of the R subpixels of first and secondpixels in the subpixel rendering process, the result is a grayscalevalue of “127.5”. When the R subpixel of the corresponding pixel of thedisplay device is driven with the grayscale value of “127.5”, thebrightness of the R subpixel becomes 22% for a gamma value γ of 2.2.However, in one embodiment, the R subpixel of the corresponding pixel ofthe display device is driven so that the brightness of the R subpixelbecomes 50%, since the grayscale value of “255” corresponds to thebrightness of 100% and the grayscale value of “0” corresponds to thebrightness of 0%. When the gamma value γ of the display device is 2.2,the grayscale value of the R subpixel of the corresponding pixel of thedisplay device is calculated as “186” in the subpixel rendering process.

Accordingly, a subpixel rendering process generally includes performinggamma conversion on the grayscale values described in image data of theoriginal image (that is, calculating the γ powers of the grayscalevalues of the image data), calculating image data associated with Mpixels of the display device on the basis of the image data obtained bythe gamma conversion, and then performing inverse gamma conversion (thatis, calculating the 1/γ powers of the grayscale values of the imagedata).

Such subpixel rendering process may cause an increase in the circuitsize. The gamma conversion and the inverse gamma conversion involvecalculation of a power. As widely known to persons skilled in the art, acircuit performing calculation of a power has a large circuit size. Forexample, to perform a gamma conversion or an inverse gamma conversion isto use an LUT (lookup table); however, use of an LUT to achieve gammaconversion or inverse gamma conversion increases the circuit size.

Thus, there is a technical need of reducing the circuit size of acircuit which performs a subpixel rendering process.

SUMMARY

In one embodiment, a display driver includes: a subpixel renderingcircuitry configured to generate, from input image data describing inputgrayscale values which are grayscale values of subpixels of N pixels ofan input image, output image data describing output grayscale valueswhich are grayscale values of subpixels of M corresponding pixels of anoutput image corresponding to the N pixels of the input image, N beingan integer of two or more and M being an integer satisfying 1≤M<N; and adrive circuitry configured to drive a display panel in response to theoutput image data. The subpixel rendering circuitry is configured tocalculate input-side squared grayscale values which are squares of theinput grayscale values for the respective N pixels of the input image,calculate correction values associated with the M corresponding pixelsfrom a correction parameter determined in response to a gamma value setto the display driver and the input grayscale values, and generate theoutput image data by processing the input-side squared grayscale valuesbased on the correction values.

In another embodiment, an image processing circuitry includes a subpixelrendering circuitry configured to generate, from input image datadescribing input grayscale values associated with N pixels of an inputimage, output image data describing output grayscale values associatedwith M corresponding pixels of an output image corresponding to the Npixels of the input image, N being an integer of two or more and M beingan integer satisfying 1≤M<N. The subpixel rendering circuitry includes:a square calculation circuitry configured to calculate input-sidesquared grayscale values which are squares of the input grayscale valuesfor the respective N pixels of the input image, and a processingcircuitry configured to calculate correction values associated with theM corresponding pixels from a correction parameter determined inresponse to a gamma value set to the display driver and the inputgrayscale values, and generate the output image data by processing theinput-side squared grayscale values based on the correction values.

In still another embodiment, a display device includes a display paneland a display driver driving the display panel. The display driverincludes: a subpixel rendering circuitry configured to generate, frominput image data describing input grayscale values associated with Npixels of an input image, output image data describing output grayscalevalues associated with M corresponding pixels of an output imagecorresponding to the N pixels of the input image, N being an integer oftwo or more and M being an integer satisfying 1≤M<N; and a drivecircuitry configured to drive the display panel in response to theoutput image data. The subpixel rendering circuitry is configured tocalculate input-side squared grayscale values which are squares of theinput grayscale values for the respective N pixels of the input image,calculate correction values associated with the M corresponding pixelsfrom a correction parameter determined in response to a gamma value setto the display driver and the input grayscale values, and generate theoutput image data by processing the input-side squared grayscale valuesbased on the correction values.

In still another embodiment, a display driver for driving a displaypanel includes: a subpixel rendering circuitry configured to perform asubpixel rendering process on first image data to generate second imagedata; an eight-color halftoning circuitry configured to perform aneight-color halftoning process on the second image data to generatethird image data which describe a grayscale value of each of an Rsubpixel, a G subpixel and a B subpixel of each pixel with one bit; anda drive circuitry configured to drive the display panel in response tothe third image data. The eight-color halftoning circuitry includes astorage circuitry configured to store a dither table, and is configuredto generate the third image data by performing a dithering process onthe second image data using a dither value selected from elements of adither table. The frequency distribution of values of the elements ofthe dither table is uneven.

In still another embodiment, a display device includes a display paneland a display driver. The display driver includes a subpixel renderingcircuitry configured to perform a subpixel rendering process on firstimage data to generate second image data; an eight-color halftoningcircuitry configured to perform an eight-color halftoning process on thesecond image data to generate third image data which describe agrayscale value of each of an R subpixel, a G subpixel and a B subpixelof each pixel with one bit; and a drive circuitry configured to drivethe display panel in response to the third image data. The eight-colorhalftoning circuitry includes a storage circuitry configured to store adither table, and is configured to generate the third image data byperforming a dithering process on the second image data using a dithervalue selected from elements of a dither table, when the third imagedata associated with a pixel of interest of the display panel isgenerated. The frequency distribution of values of the elements of thedither table is uneven.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A is a block diagram illustrating the configuration of a displaydevice according to one or more embodiments;

FIG. 1B illustrates the configuration of a pixel according to one ormore embodiments;

FIG. 1C is a block diagram illustrating the configuration of a displaydriver according to one or more embodiments;

FIG. 2 is a block diagram illustrating the configuration of a subpixelrendering circuitry according to one or more embodiments;

FIG. 3 is a conceptual diagram illustrating the correspondencerelationship between pixels according to one or more embodiments;

FIG. 4 is a conceptual diagram illustrating a method of calculatinggrayscale values according to one or more embodiments;

FIG. 5 is a table illustrating the correspondence between the gammavalue γ and the correction parameter α according to one or moreembodiments;

FIG. 6 is a conceptual diagram illustrating the correspondencerelationship between pixels according to one or more embodiments;

FIG. 7 is a conceptual diagram illustrating a method of calculatinggrayscale values according to one or more embodiments;

FIG. 8 is a block diagram illustrating the configuration of a displaydriver according to one or more embodiments;

FIG. 9 illustrates one example of a dither table according to one ormore embodiments;

FIG. 10 illustrates the gamma characteristics of a dithering processaccording to one or more embodiments;

FIG. 11 is a block diagram illustrating the configuration of aneight-color halftoning circuitry according to one or more embodiments;

FIG. 12 illustrates one example of a dither table according to one ormore embodiments; and

FIGS. 13 and 14 schematically illustrate one example of the subpixelrendering process and the eight-color halftoning process performed in animage processing circuitry according to one or more embodiments.

DETAILED DESCRIPTION

In the following, a description is given of embodiments of the presentdisclosure with reference to the attached drawings. FIG. 1A is a blockdiagram illustrating the configuration of a display device 10 in oneembodiment. The display device 10 includes a display panel 1 and adisplay driver 2. An OLED (organic light emitting diode) display panelor a liquid crystal display panel may be used as the display panel 1.

The display panel 1 includes gate lines 4, data lines 5, pixel circuits6 and gate line drive circuitries 7. Each pixel circuit 6 is disposed atan intersection of a gate line 4 and a data line 5 and configured todisplay one of the red, green and blue colors. Pixel circuits 6 whichdisplay the red color are used as R subpixels. Similarly, pixel circuits6 which display the green color are used as G subpixels, and pixelcircuits 6 which display the blue color are used as B subpixels. When anOLED display panel is used as the display panel 1, in one embodiment,the pixel circuits 6 which display the red color may include an lightemitting element which emits red light, the pixel circuits 6 whichdisplay the green color may include an light emitting element whichemits green light, and the pixel circuits 6 which display the blue colormay include an light emitting element which emits blue light.

As illustrated in FIG. 1B, each pixel 8 of the display panel 1 includesone R subpixel, one G subpixel and one B subpixel. In FIG. 1B, the Rsubpixels (pixel circuits 6 displaying the red color) are denoted bynumeral 6R. Similarly, the G subpixels (pixel circuits 6 displaying thegreen color) are denoted by numeral 6G and the B subpixels (pixelcircuits 6 displaying the blue color) are denoted by numeral 6B.

Referring back to FIG. 1A, the gate line drive circuitries 7 drive thegate lines 4 in response to gate control signals 31 received from thedisplay driver 2. In this embodiment, a pair of gate line drivecircuitries 7 is provided. One of the gate line drive circuitries 7drives the odd-numbered gate lines 4 and the other drives theeven-numbered gate lines 4. In this embodiment, the gate line drivecircuitries 7 are integrated on the display panel 1 by using a GIP(gate-in-panel) technology. Such gate line drive circuitries 7 may bereferred to as GIP circuitries.

The display driver 2 drives the display panel 1 in response to imagedata 32 and control data 33 received from a host 3 to display images onthe display panel 1. The image data 32 describe the grayscale value ofeach subpixel of each pixel of an image to be displayed (or an originalimage). The control data 33 include commands and parameters used forcontrolling the display driver 2. An application processor, a CPU(central processing unit), a DSP (digital signal processor) or the likemay be used as the host 3.

FIG. 1C is a block diagram illustrating the configuration of the displaydriver 2 in one embodiment. The display driver 2 includes an interfacecontrol circuitry 11, an image processing circuitry 12, a latchcircuitry 13, a grayscale voltage generator circuitry 14, a data linedrive circuitry 15 and a register 16.

The interface control circuitry 11 operates as follows. First, theinterface control circuitry 11 forwards the image data 32 received fromthe host 3 to the image processing circuitry 12. The interface controlcircuitry 11 further stores various parameters included in the controldata 33 into the register 16 and controls the respective circuitries ofthe display driver 2 in response to commands included in the controldata 33.

The image processing circuitry 12 performs a desired image data processon the image data 32 received from the interface control circuitry 11 togenerate display data 34 used for driving the display panel 1. Asdescribed later In one embodiment, the image data process performed inthe image processing circuitry 12 includes a subpixel rendering process.Details of the subpixel rendering process performed in the imageprocessing circuitry 12 will be described later. The image data processperformed in the image processing circuitry 12 may include processesother than the subpixel rendering process (e.g. color adjustment).

The latch circuitry 13 latches the display data 34 from the imageprocessing circuitry 12 and forwards the latched display data 34 to thedata line drive circuitry 15.

The grayscale voltage generator circuitry 14 generates a set ofgrayscale voltages respectively corresponding to the allowed values ofthe grayscale values described in the display data 34.

The data line drive circuitry 15 drives the respective data lines 5 withthe grayscale voltages corresponding to the values of the display data34. In one embodiment, the data line drive circuitry 15 selects ones ofthe grayscale voltages received from the grayscale voltage generatorcircuitry 14 corresponding to the values of the display data 34, anddrives the respective data lines 5 to the selected grayscale voltages.

The register 16 stores therein various control parameters used tocontrol the operation of the display driver 2. The register 16 isconfigured to be rewritable from outside of the display driver 2, forexample, from the host 3. The control parameters stored in the register16 include a correction parameter α used to control the subpixelrendering process performed in the image processing circuitry 12. Thecontent and technical meaning of the correction parameter α will bedescribed later In one embodiment.

FIG. 2 is a block diagram illustrating the configuration of a circuitrywhich performs the subpixel rendering process in the image processingcircuitry 12. In the following, the circuitry performing the subpixelrendering process is referred to as the subpixel rendering circuitry 20.The subpixel rendering circuitry 20 is configured to perform thesubpixel rendering process on input image data D_(IN) to generate outputimage data D_(OUT). In the following, the image corresponding to theinput image data D_(IN) is referred to as the input image, and the imagecorresponding to the output image data is referred to as the outputimage. The input image data D_(IN) describe the grayscale value of eachsubpixel (the R subpixel, G subpixel, and B subpixel) of each pixel ofthe input image. The grayscale value of each subpixel described in theinput image data D_(IN) may be referred to as the input grayscale value.The output image data D_(OUT), on the other hand, describe the grayscalevalue of each subpixel (the R subpixel, G subpixel and B subpixel) ofeach pixel of the output image. The grayscale value of each subpixeldescribed in the output image data D_(OUT) may be referred to as theoutput grayscale value.

The input image data D_(IN) supplied to the subpixel rendering circuitry20 may be the image data 32 supplied to the image processing circuitry12 from the interface control circuitry 11. Alternatively, image dataobtained by performing desired image data processing on the image data32 may be used as the input image data D_(IN). The output image dataD_(OUT) output from the subpixel rendering circuitry 20 may be used asthe display data 34 supplied to the data line drive circuitry 15.Alternatively, image data obtained by performing desired image dataprocessing on the output image data D_(OUT) may be used as the displaydata 34 and supplied to the data line drive circuitry 15.

In this embodiment, the subpixel rendering circuitry 20 includes asquare calculation circuitry 21, a subpixel rendering calculationcircuitry 22, a square root calculation circuitry 23, a correction valuecalculation circuitry 24 and an adder circuitry 25.

The square calculation circuitry 21 calculates the square of the inputgrayscale value for each subpixel of each pixel of the input image. Thevalue of the square of an input grayscale value may be referred to asthe input-side squared grayscale value.

The subpixel rendering calculation circuitry 22 calculates SPR-processed(subpixel rendering processed) squared grayscale value for each subpixelof each pixel of the output image, from the input-side squared grayscalevalue calculated for each subpixel of each pixel of the input image. TheSPR-processed squared grayscale value approximately corresponds to thesquare of the grayscale value of each subpixel of each pixel of theoutput image. It should be noted however that, as will be understoodfrom the following description, the square root of the SPR-processedsquared grayscale value calculated for each subpixel of each pixel ofthe output image may not be used as the grayscale value of each subpixelof each pixel of the output image. The SPR-processed squared grayscalevalue of a subpixel of a specific color (for example, red, green orblue) of a specific pixel of the output image is calculated from theinput-side squared grayscale values calculated for the subpixels of thespecific color of the pixels of the input image corresponding to thespecific pixel of the output image.

The square root calculation circuitry 23 calculates the square root(that is, ½ power) of the SPR-processed squared grayscale valuecalculated for each subpixel of each pixel of the output image.

The correction value calculation circuitry 24 calculates a correctionvalue ΔD for each subpixel of each pixel of the output image. Thecorrection parameter α stored in the register 16 is used to calculatethe correction value ΔD. The calculated correction value ΔD is suppliedto the adder circuitry 25.

The adder circuitry 25 adds the correction value ΔD calculated for eachsubpixel of each pixel of the output image to the square root of theSPR-processed squared grayscale value calculated for each subpixel ofeach pixel of the output image. The output of the adder circuitry 25 isthe output image data D_(OUT). The grayscale value of a specificsubpixel of a specific pixel of the output image described in the outputimage data D_(OUT) is calculated as the sum of the square root of theSPR-processed squared grayscale value calculated for the specificsubpixel and the correction value ΔD calculated for the specificsubpixel.

As described above, a commonly-used subpixel rendering process includesa gamma conversion, an arithmetic process of image data, and aninverse-gamma conversion. The gamma conversion includes calculation of aγ power, and the inverse gamma conversion includes calculation of a 1/γpower, where γ is the gamma value. The circuit size of a circuit whichperforms the gamma conversion or the inverse gamma conversion is largeas described above.

The subpixel rendering circuitry 20 of this embodiment is configured sothat square calculation (e.g., calculation to obtain a square) isperformed in place of the gamma conversion and square root calculation(e.g., calculation to obtain a square root) is performed in place of theinverse gamma conversion, while the error caused by these calculationsis compensated by adding the correction value ΔD. The square calculationand square root calculation can be implemented by a circuit of a smallercircuit size than that of a circuit which calculates a power. Althoughthe use of the square calculation and the square root calculation inplace of the gamma conversion and the inverse gamma conversion may causean error, this error can be compensated by adding the correction valueΔD. Accordingly, the configuration of the subpixel rendering circuitry20 of this embodiment effectively reduces the circuit size.

In the following, the operation of the subpixel rendering circuitry 20to generate the output image data D_(OUT) is described for the casewhere the ratio of the number of the pixels of the input image to thatof the output image is 3:2. In other embodiments, other ratios may beused.

FIG. 3 schematically illustrates the correspondence relationship betweenthe pixels of the input image and those of the output image, for thecase where the ratio of the number of the pixels of the input image tothat of the output image is 3:2. Illustrated in FIG. 3 is an example inwhich output image data D_(OUT) associated with 720 pixels arrayed inthe horizontal direction are calculated from input image data D_(IN)associated with 1080 pixels arrayed in the horizontal direction.

In the subpixel rendering process illustrated in FIG. 3, the outputimage data D_(OUT) are calculated in units of two pixels of the outputimage, which are adjacent in the horizontal direction (the direction inwhich the gate lines are extended). Output image data D_(OUT) associatedwith two adjacent pixels of the output image are calculated from inputimage data D_(IN) associated with four pixels of the input image. In oneembodiment, the output image data D_(OUT) associated with pixel Pout #(2k) of the output image is calculated from the input image data D_(IN)associated with pixels Pin #(3 k−1), Pin #(3 k) and Pin(3 k+1) of theinput image, and the output image data D_(OUT) associated with pixelPout #(2 k+1) of the output image is calculated from the input imagedata D_(IN) associated with pixels Pin #(3 k+1) and Pin(3 k+2) of theinput image, in one embodiment k is an integer equal to or greater thanzero.

For the case where k is zero, that is, for the calculation of the outputimage data D_(OUT) associated with the leftmost pixel Pout #0 of theoutput image, pixel Pin #0 of the input image is positioned leftmost inthe horizontal direction and pixel Pin #(−1) does not exist. To addressthis, the output image data D_(OUT) associated with pixel Pout #0 of theoutput image is calculated by using the input image data D_(IN)associated with pixel Pin #1, in place of the input image data D_(IN)associated with pixel Pin #(−1). In other words, the output image dataD_(OUT) associated with pixel Pout #0 of the output image is calculatedfrom the input image data D_(IN) associated with pixels Pin #1, Pin #0,Pin #1 and Pin #2 of the input image. Also in this case, the outputimage data D_(OUT) associated with two pixels Pout #0 and #1 of theoutput image can be virtually considered as being calculated from theinput image data D_(IN) associated with four pixels Pin #1, Pin #0, Pin#1 and Pin #2 of the input image.

In various embodiment, the subpixel rendering process performed by thesubpixel rendering circuitry 20, comprises calculating the output imagedata D_(OUT) associated with two pixels Pout #(2 k) and Pout #(2 k+1)from the input image data D_(IN) associated with four pixels Pin #(3k−1), Pin #(3 k), Pin #(3 k+1) and Pin #(3 k+2). For example, the outputimage data D_(OUT) of two pixels Pout #2 and Pout #3 of the output imageare calculated from four pixels Pin #2, Pin #3, Pin #4 and Pin #5 of theinput image in this subpixel rendering process. In various embodiments,for the case where k=0, the input image data D_(IN) associated withpixel Pin #1 is used in place of the input image data D_(IN) associatedwith pixel Pin #(−1).

In one or more embodiments, the input image data D_(IN) associated withthe four pixels Pin #(3 k−1), Pin #(3 k), Pin #(3 k+1) and Pin #(3 k+2)of the input image may be referred to as the input image data D_(IN0),D_(IN1), D_(IN2) and D_(IN3), respectively. The input image data D_(IN0)describes the grayscale value R₀ of the R subpixel of the pixel Pin #(3k−1), the grayscale value G₀ of the G subpixel, and the grayscale valueB₀ of the B subpixel, and the input image data D_(IN1) describes thegrayscale value R₁ of the R subpixel of the pixel Pin #(3 k), thegrayscale value G₁ of the G subpixel, and the grayscale value B₁ of theB subpixel. Similarly, the input image data D_(IN2) describes thegrayscale value R₂ of the R subpixel of the pixel Pin #(3 k+1), thegrayscale value G₂ of the G subpixel, and the grayscale value B₂ of theB subpixel, and the input image data D_(IN3) describes the grayscalevalue R₃ of the R subpixel of the pixel Pin #(3 k+2), the grayscalevalue G₃ of the G subpixel, and the grayscale value B₃ of the Bsubpixel. In the various embodiments, the grayscale value R_(i) of the Rsubpixel described in the input image data D_(INi), the grayscale valueG_(i) of the G subpixel and the grayscale value B_(i) of the B subpixelmay be referred to as input grayscale values R_(i), G_(i) and B_(i),respectively, where i is an integer from zero to three.

In some embodiments, the output image data D_(OUT) associated with twopixels Pout #(2 k) and Pout #(2 k+1) of the output image may be referredto as the output image data D_(OUT0) and D_(OUT1). The output image dataD_(OUT0) describes the grayscale value NewR₀ of the R subpixel of thepixel Pout #(2 k) of the output image, the grayscale value NewG₀ of theG subpixel and the grayscale value NewB₀ of the B subpixel, and theoutput image data D_(OUT1) describes the grayscale value NewR₁ of the Rsubpixel of pixel Pout #(2 k+1) of the output image, the grayscale valueNewG₁ of the G subpixel and the grayscale value NewB₁ of the B subpixel.In one or more embodiments, the grayscale value NewR_(j) of the Rsubpixel described in the output image data D_(OUTj), the grayscalevalue NewG_(j) of the G subpixel and the grayscale value NewB_(j) of theB subpixel may be referred to as output grayscale values NewR_(j),NewG_(j) and NewB_(j), respectively, where j is zero or one.

FIG. 4 schematically illustrates an example method of calculating theoutput grayscale values NewR₀ and NewR₁ (that is, the grayscale valuesNewR₀ and NewR₁ of the R subpixels of pixels Pout #(2 k) and Pout #(2k+1) of the output image). The output grayscale values NewR₀ and NewR₁are calculated as follows.

Input-side squared grayscale values R₀ ², R₁ ², R₂ ² and R₃ ², which arethe squares of the input grayscale values R₀, R₁, R₂ and R₃,respectively (that is the grayscale values R₀, R₁, R₂ and R₃ of the Rsubpixels of pixels Pin #(3 k−1), Pin #(3 k), Pin #(3 k+1) and Pin #(3k+2) of the input image) are calculated by the square calculationcircuitry 21.

SPR-processed squared grayscale values R_(SUB0) ² and R_(SUB1) ² of theR subpixels of pixels Pout #(2 k) and Pout #(2 k+1) of the output imageare further calculated from the input-side squared grayscale values R₀², R₁ ², R₂ ² and R₃ ² by the subpixel rendering calculation circuitry22. The SPR-processed squared grayscale values R_(SUB0) ² and R_(SUB1) ²are calculated in accordance with the following expressions (1a) and(1b):

$\begin{matrix}{R_{{SUB}\; 0}^{2} = \frac{R_{0}^{2} + {2 \times R_{1}^{2}} + R_{2}^{2}}{4}} & ( {1a} ) \\{R_{{SUB}\; 1}^{2} = \frac{R_{2}^{2} + R_{3}^{2}}{2}} & ( {1b} )\end{matrix}$

Furthermore, the square roots R_(SUB0) and R_(SUB1) of the SPR-processedsquared grayscale values R_(SUB0) ² and R_(SUB1) ² of the R subpixels ofpixels Pout #(2 k) and Pout #(2 k+1) of the output image are calculatedby the square root calculation circuitry 23.

Further, in some embodiments, the correction value calculation circuitry24 calculates correction values ΔR₀ and ΔR₁ for the respective Rsubpixels of pixels Pout #(2 k) and Pout #(2 k+1) of the output image inaccordance with the following expressions (2a) and (2b):

$\begin{matrix}{{\Delta\; R_{0}} = \frac{{\frac{R_{0} + R_{2}}{2} - R_{1}}}{\alpha}} & ( {2a} ) \\{{\Delta\; R_{1}} = \frac{{R_{2} - R_{3}}}{\alpha}} & ( {2b} )\end{matrix}$

The correction parameter α used in expressions (2a) and (2b) is storedin the register 16, and the correction value calculation circuitry 24calculates the correction values ΔR₀ and ΔR₁ using the correctionparameter α received from the register 16. The correction parameter α iscalculated in accordance with the following expression (3a):

$\begin{matrix}{\alpha = \frac{MAX}{\{ \frac{{MAX}^{\gamma} + 0^{\gamma}}{2} \}^{1/\gamma} - \{ \frac{{MAX}^{2} + 0^{2}}{2} \}^{1/2}}} & ( {3a} )\end{matrix}$where γ is the gamma value of the display panel 1 (the gamma value setto the display driver 2), and MAX is the allowed maximum value of thegrayscale value of each subpixel of each pixel in the input image dataD_(IN) and the output image data D_(OUT). In some embodiments, when bothof the input image data D_(IN) and the output image data D_(OUT)describe the grayscale value of each subpixel of each pixel with eightbits, it holds:MAX=255(=2⁸−1).In this case, expression (3a) can be rewritten into the followingexpression (3b):

$\begin{matrix}{\alpha = \frac{255}{\{ \frac{255^{\gamma} + 0^{\gamma}}{2} \}^{1/\gamma} - \{ \frac{255^{2} + 0^{2}}{2} \}^{1/2}}} & ( {3b} )\end{matrix}$

FIG. 5 is a table illustrating the correspondence between the gammavalue γ and the correction parameter α calculated in accordance with theabove-described expression (3b). The correction parameter α illustratedin FIG. 5 is calculated as a digital value of seven bits, and obtainedby rounding a calculated in accordance with the expression (3b) into aninteger. When the gamma value γ of the display panel 1 is 2.2, forexample, the correction parameter α stored in the register 16 is set to44.

The adder circuitry 25 calculates the output grayscale values NewR₀ andNewR₁ (that is, the grayscale values NewR₀ and NewR₁ of the R subpixelsof pixels Pout #(2 k) and Pout #(2 k+1)) by adding the correction valuesΔR₀ and ΔR₁ to the square roots R_(SUB0) and R_(SUB1) calculated for theR subpixels of pixels Pout #(2 k) and Pout #(2 k+1) of the output image,respectively. In other words, the adder circuitry 25 calculates theoutput grayscale values NewR₀ and NewR₁ in accordance with the followingexpressions (4a) and (4b):NewR ₀ =R _(SUB0) +ΔR ₀, and  (4a)NewR ₁ =R _(SUB1) +αR ₁  (4b)

According to the calculation described above, the output grayscalevalues NewR₀ and NewR₁ are resultantly calculated in accordance with thefollowing expressions (5a) and (5b), as a whole of the subpixelrendering circuitry 20:

$\begin{matrix}{{NewR}_{0} = {\sqrt[2]{\frac{R_{0}^{2} + {2 \times R_{1}^{2}} + R_{2}^{2}}{4}} + \frac{❘{\frac{R_{0} + R_{2}}{2} - R_{1}}❘}{\alpha}}} & ( {5a} )\end{matrix}$ $\begin{matrix}{{NewR}_{1} = {\sqrt[2]{\frac{R_{2}^{2} + R_{3}^{2}}{2}} + \frac{❘{R_{2} - R_{3}}❘}{\alpha}}} & ( {5b} )\end{matrix}$

In various embodiments, the calculation of the output grayscale valuesNewR₀ and NewR₁ in accordance with expressions (5a) and (5b) allowsobtaining grayscale values approximate to those obtained by strictlyperforming a subpixel rendering process based on gamma conversion andinverse gamma conversion.

In one or more embodiments, when a subpixel rendering process isstrictly performed using gamma conversion and inverse gamma conversion,the output grayscale value NewR₀ and NewR₁ of the R subpixels of pixelsPout #(2 k) and Pout #(2 k+1) of the output image are calculated inaccordance with the following expressions (6a) and (6b):

$\begin{matrix}{{NewR}_{0} = \sqrt[\gamma]{\frac{R_{0}^{\gamma} + {2 \times R_{1}^{\gamma}} + R_{2}^{\gamma}}{4}}} & ( {6a} )\end{matrix}$ $\begin{matrix}{{NewR}_{1} = \sqrt[\gamma]{\frac{R_{2}^{\gamma} + R_{3}^{\gamma}}{2}}} & ( {6b} )\end{matrix}$

When γ is approximately equal to two, the following approximationexpressions (7a) and (7b) hold:

$\begin{matrix}{\sqrt[\gamma]{\frac{A^{\gamma} + {2 \times B^{\gamma}} + C^{\gamma}}{4}} \approx {\sqrt[2]{\frac{A^{2} + {2 \times B^{2}} + C^{2}}{4}} + \frac{❘{\frac{A + C}{2} - C}❘}{\alpha}}} & ( {7a} )\end{matrix}$ $\begin{matrix}{\sqrt[\gamma]{\frac{C^{\gamma} + D^{\gamma}}{2}} \approx {\sqrt[2]{\frac{C^{2} + D^{2}}{2}} + \frac{❘{C - D}❘}{\alpha}}} & ( {7b} )\end{matrix}$The right sides of expressions (5a) and (5b) can be obtained bysubstituting R₀, R₁, R₂ and R₃ into A, B, C and D of the right sides ofexpressions (7a) and (7b), respectively. This implies that anapproximation can be achieved with a sufficient accuracy by calculatingthe output grayscale value NewR₀ and NewR₁ in accordance withexpressions (5a) and (5b). According to an inventors' study, for a gammavalue γ from 2.0 to 3.0, a sufficient accuracy can be achieved bycalculating the output grayscale values NewR₀ and NewR₁ with acorrection parameter α of seven bits in accordance with expressions (5a)and (5b).

Expressions 8a and 8b illustrate a calculation example for the casewhere the gamma value γ of the display panel 1 is 2.2. When the gammavalue γ is 2.2, the correction parameter α is set to “44” as understoodfrom FIG. 5. When the input grayscale values R₀, R₁, R₂ and R₃ are“255”, “255” and “0”, respectively, the output grayscale values NewR₀and NewR₁ are calculated as follows:

$\begin{matrix}\begin{matrix}{{NewR}_{0} = {\sqrt[2]{\frac{255^{2} + {2 \times 0^{2}} + 255^{2}}{4}} + \frac{❘{\frac{255 + 255}{2} - 0}❘}{44}}} \\{= {180. + 6.}} \\{= 186.}\end{matrix} & ( {8a} )\end{matrix}$ $\begin{matrix}\begin{matrix}{{NewR}_{1} = {\sqrt[2]{\frac{0^{2} + 255^{2}}{2}} + \frac{❘{0 - 255}❘}{44}}} \\{= {180. + 6.}} \\{= 186.}\end{matrix} & ( {8b} )\end{matrix}$The calculated output grayscale values NewR₀ and NewR₁ are equal to thevalues obtained by strictly performing the subpixel rendering processwith gamma conversion and inverse gamma conversion.

When the gamma value γ is 2.0, the correction parameter α calculated inaccordance with expression (3a) or (3b) is infinite. In this case, inone embodiment, the correction values ΔR₀ and ΔR₁ may be calculated aszero by the correction value calculation circuitry 24. To achieve suchoperation, the display driver 2 may be configured such that a flag whichis asserted when the gamma value γ is 2.0 is prepared in the register 16and the correction value calculation circuitry 24 is configured tounconditionally set the correction values ΔR₀ and ΔR₁ to zero when theflag is asserted.

The grayscale values NewG₀ and NewG₁ of the G subpixels of pixels Pout#(2 k) and Pout #(2 k+1) of the output image and the grayscale valuesNewB₀ and NewB₁ of the B subpixels are calculated in a similar way.

In one embodiment, input-side squared grayscale values G₀ ², G₁ ², G₂ ²and G₃ ², which are squares of the grayscale values G₀, G₁, G₂ and G₃ ofthe G subpixels of pixels Pin #(3 k−1), Pin #(3 k), Pin #(3 k+1) and Pin#(3 k+2) of the input image, and input-side squared grayscale values B₀², B₁ ², B₂ ² and B₃ ², which are squares of the grayscale values B₀,B₁, B₂ and B₃ of the B subpixels, are calculated by the squarecalculation circuitry 21.

SPR-processed squared grayscale values G_(SUB0) ² and G_(SUB1) ² of theG subpixels of pixels Pout #(2 k) and Pout #(2 k+1) of the output imageare further calculated from the input-side squared grayscale values G₀², G₁ ², G₂ ² and G₃ ² by the subpixel rendering calculation circuitry22, and SPR-processed squared grayscale values B_(SUB0) ² and B_(SUB1) ²of the B subpixels are calculated from the input-side squared grayscalevalues B₀ ², B₁ ², B₂ ² and B₃ ². The SPR-processed squared grayscalevalues G_(SUB0) ², G_(SUB1) ², B_(SUB0) ² and B_(SUB1) ² are calculatedin accordance with the following expressions (9a), (9b), (10a) and(10b):

$\begin{matrix}{G_{{SUB}0}^{2} = \frac{G_{0}^{2} + {2 \times G_{1}^{2}} + G_{2}^{2}}{4}} & ( {9a} )\end{matrix}$ $\begin{matrix}{G_{{SUB}1}^{2} = \frac{G_{2}^{2} + G_{3}^{2}}{2}} & ( {9b} )\end{matrix}$ $\begin{matrix}{B_{{SUB}0}^{2} = \frac{B_{0}^{2} + {2 \times B_{1}^{2}} + B_{2}^{2}}{4}} & ( {10a} )\end{matrix}$ $\begin{matrix}{B_{{SUB}1}^{2} = \frac{B_{2}^{2} + B_{3}^{2}}{2}} & ( {10b} )\end{matrix}$

Furthermore, the square roots G_(SUB0) and G_(SUB1) of the SPR-processedsquared grayscale values G_(SUB0) ² and G_(SUB1) ² of the G subpixels ofpixels Pout #(2 k) and Pout #(2 k+1) of the output image and the squareroots B_(SUB0) and B_(SUB1) of the SPR-processed squared grayscalevalues B_(SUB0) ² and B_(SUB1) ² of the B subpixels are calculated bythe square root calculation circuitry 23.

Further, in some embodiments, the correction value calculation circuitry24 calculates correction values ΔG₀ and ΔG₁ for the respective Gsubpixels of pixels Pout #(2 k) and Pout #(2 k+1) of the output image inaccordance with the following expressions (11a) and (11b) and calculatescorrection values ΔB₀ and ΔB₁ for the respective B subpixels inaccordance with the following expressions (12a) and (12b):

$\begin{matrix}{{\Delta G_{0}} = \frac{❘{\frac{G_{0} + G_{2}}{2} - G_{1}}❘}{\alpha}} & ( {11a} )\end{matrix}$ $\begin{matrix}{{\Delta G_{1}} = \frac{❘{G_{2} - G_{3}}❘}{\alpha}} & ( {11b} )\end{matrix}$ $\begin{matrix}{{\Delta B_{0}} = \frac{❘{\frac{B_{0} + B_{2}}{2} - B_{1}}❘}{\alpha}} & ( {12a} )\end{matrix}$ $\begin{matrix}{{\Delta B_{1}} = \frac{❘{B_{2} - B_{3}}❘}{\alpha}} & ( {12b} )\end{matrix}$

The adder circuitry 25 calculates the grayscale values NewG₀ and NewG₁of the G subpixels of pixels Pout #(2 k) and Pout #(2 k+1) of the outputimage by adding the correction values ΔG₀ and ΔG₁ to the square rootsG_(SUB0) and G_(SUB1) calculated for the G subpixels of pixels Pout #(2k) and Pout(2 k+1) of the output image, respectively. Similarly, theadder circuitry 25 also calculates the grayscale values NewB₀ and NewB₁of the B subpixels of pixels Pout #(2 k) and Pout #(2 k+1) of the outputimage by adding the correction values ΔB₀ and ΔB₁ to the square rootsB_(SUB0) and B_(SUB1) calculated for the B subpixels of pixels Pout #(2k) and Pout #(2 k+1) of the output image, respectively.

In other words, the adder circuitry 25 calculates the grayscale valuesNewG₀ and NewG₁ of the G subpixels of pixels Pout #(2 k) and Pout #(2k+1) of the output image and the grayscale values NewB₀ and NewB₁ of theB subpixels in accordance with the following expressions (13a), (13b)(14a) and (14b):NewG ₀ =G _(SUB0) +ΔG ₀  ,(13a)NewG ₁ =G _(SUB1) +ΔG ₁  ,(13b)NewB ₀ =B _(SUB0) +ΔB ₀, and  (14a)NewB ₁ =B _(SUB1) +ΔB ₁  .(14b)

According to the calculation described above, the grayscale values NewG₀and NewG₁ of the G subpixels of pixels Pout #(2 k) and Pout #(2 k+1) ofthe output image and the grayscale values NewB₀ and NewB₁ of the Bsubpixels are resultantly calculated in accordance with the followingexpressions (15a), (15b), (16a) and (16b), as a whole of the subpixelrendering circuitry 20:

$\begin{matrix}{{NewG}_{0} = {\sqrt[2]{\frac{G_{0}^{2} + {2 \times G_{1}^{2}} + G_{2}^{2}}{4}} + \frac{❘{\frac{G_{0} + G_{2}}{2} - G_{1}}❘}{\alpha}}} & ( {15a} )\end{matrix}$ $\begin{matrix}{{NewG}_{1} = {\sqrt[2]{\frac{G_{2}^{2} + G_{3}^{2}}{2}} + \frac{❘{G_{2} - G_{3}}❘}{\alpha}}} & ( {15b} )\end{matrix}$ $\begin{matrix}{{NewB}_{0} = {\sqrt[2]{\frac{B_{0}^{2} + {2 \times B_{1}^{2}} + B_{2}^{2}}{4}} + \frac{❘{\frac{B_{0} + B_{2}}{2} - B_{1}}❘}{\alpha}}} & ( {16a} )\end{matrix}$ $\begin{matrix}{{NewB}_{1} = {\sqrt[2]{\frac{B_{2}^{2} + B_{3}^{2}}{2}} + \frac{❘{B_{2} - B_{3}}❘}{\alpha}}} & ( {16b} )\end{matrix}$In various embodiments, the calculation of the grayscale values NewG₀and NewG₁ of the G subpixels of pixels Pout #(2 k) and Pout #(2 k+1) andthe grayscale values NewB₀ and NewB₁ of the B subpixels in accordancewith expressions (15a), (15b), and (16a) and (16b) achieves asufficiently accurate approximation.

As described above, the subpixel rendering circuitry 20 of thisembodiment is configured to perform square calculation in place of gammaconversion and perform square root calculation in place of inverse gammaconversion, while compensating the error caused by such operation byadding a correction value. Such configuration of the subpixel renderingcircuitry 20 of this embodiment effectively reduces the circuit sizethereof.

In one embodiment, the subpixel rendering circuitry 20 of thisembodiment also offers an advantage that the gamma value γ can be easilymodified by modifying the correction parameter α stored in the register16. When the register 16 can be rewritten from the host 3, the host 3may access the register 16 to modify the correction parameter α storedin the register 16. For example, as is understood from FIG. 5, the gammavalue γ used in the subpixel rendering circuitry 20 can be modified from2.2 to 2.1 by accessing the register 16 from the host 3 and modifyingthe correction parameter α stored in the register 16 from 44 to 85.

Although the above-described embodiment recites the configuration inwhich output image data D_(OUT) associated with two pixels of the outputimage are calculated from input image data D_(IN) associated with fourpixels of the input image, a subpixel rendering process may be generallyachieved in a similar procedure also for the case where output imagedata D_(OUT) associated with M pixels of the output image are calculatedfrom input image data D_(IN) associated with N pixels of the inputimage, for N being an integer two or more, and M being an integersatisfying 1≤M<N.

FIG. 6 schematically illustrates the correspondence relationship betweenthe pixels of the input image and those of the output image in asubpixel rendering process for the case where the ratio of the number ofthe pixels of the input image to that of the output image is 2:1.Illustrated in FIG. 6 is an example in which output image data D_(OUT)associated with 540 pixels arrayed in the horizontal direction arecalculated from the input image data D_(IN) associated with 1080 pixelsarrayed in the horizontal direction.

In the subpixel rendering process illustrated in FIG. 6, an output imagedata D_(OUT) associated with one pixel of the output image is calculatedfrom input image data D_(IN) associated with three pixels of the inputimage. In one embodiment, the output image data D_(OUT) associated withpixel Pout #k of the output image is calculated from the input imagedata D_(IN) associated with pixels Pin #(2 k−1), Pin #(2 k) and Pin(2k+1) of the input image, where k is an integer equal to or more thanzero.

For the case where k is zero, that is, for the calculation of the outputimage data D_(OUT) associated with the leftmost pixel Pout #0 of theoutput image, pixel Pin #0 of the input image is positioned leftmost inthe horizontal direction and pixel Pin #(−1) does not exist. In variousembodiments, to address this, the output image data D_(OUT) associatedwith pixel Pout #0 of the output image is calculated by using the inputimage data D_(IN) associated with pixel Pin #1, in place of the inputimage data D_(IN) associated with pixel Pin #(−1). In other words, theoutput image data D_(OUT) associated with pixel Pout #0 of the outputimage is calculated from the input image data D_(IN) associated withpixels Pin #1, Pin #0 and Pin #1 of the input image. Also in this case,the output image data D_(OUT) associated with pixel Pout #0 of theoutput image can be virtually considered as being calculated from theinput image data D_(IN) associated with three pixels Pin #1, Pin #0 andPin #1 of the input image.

FIG. 7 schematically illustrates the method of calculating the grayscalevalues NewR of the R subpixel of pixels Pout #k of the output image (theoutput grayscale value NewR). The output grayscale value NewR may becalculated as follows.

Input-side squared grayscale values R₀ ², R₁ ² and R₂ ², which are thesquares of the grayscale values R₀, R₁ and R₂ of the R subpixels ofpixels Pin #(2 k−1), Pin #(2 k) and Pin #(2 k+1) of the input image (theinput grayscale values R₀, R₁ and R₂) are calculated by the squarecalculation circuitry 21.

An SPR-processed squared grayscale values R_(SUB) ² of the R subpixel ofpixel Pout #k of the output image is then calculated from the input-sidesquared grayscale values R₀ ², R₁ ² and R₂ ² by the subpixel renderingcalculation circuitry 22. The SPR-processed squared grayscale valuesR_(SUB) ² is calculated in accordance with the following expression(17):

$\begin{matrix}{R_{SUB}^{2} = \frac{R_{0}^{2} + {2 \times R_{1}^{2}} + R_{2}^{2}}{4}} & (17)\end{matrix}$

Furthermore, the square root R_(SUB) of the SPR-processed squaredgrayscale values R_(SUB) ² of the R subpixel of pixel Pout #k of theoutput image is calculated by the square root calculation circuitry 23.

Meanwhile, the correction value calculation circuitry 24 calculates acorrection value ΔR in accordance with the following expression (18):

$\begin{matrix}{{\Delta R} = \frac{❘{\frac{R_{0} + R_{2}}{2} - R_{1}}❘}{\alpha}} & (18)\end{matrix}$

The correction parameter α in expression (18) is stored in the register16, and the correction value calculation circuitry 24 calculates thecorrection value ΔR using the correction parameter α received from theregister 16.

The adder circuitry 25 calculates the output grayscale value NewR (thatis, the grayscale value NewR of the R subpixel of pixel Pout #k) byadding the correction values ΔR to the square root R_(SUB) calculatedfor the R subpixel of pixel Pout #k of the output image. In other words,the adder circuitry 25 calculates the output grayscale value NewR inaccordance with the following expressions (19):NewR=R _(SUB) +ΔR.  (19)

According to the calculation described above, the output grayscale valueNewR is resultantly calculated in accordance with the followingexpression (20), as a whole of the subpixel rendering circuitry 20:

$\begin{matrix}{{NewR} = {\sqrt[2]{\frac{R_{0}^{2} + {2 \times R_{1}^{2}} + R_{2}^{2}}{4}} + \frac{❘{\frac{R_{0} + R_{2}}{2} - R_{1}}❘}{\alpha}}} & (20)\end{matrix}$

The grayscale value NewG of the G subpixel of pixel Pout #k and thegrayscale value NewB of the B subpixel are calculated in a similar way.It would be easily understood by a person skilled in the art from theabove-described discussion that the calculation of the grayscale valueNewR of the R subpixel of pixel Pout #k, the grayscale value NewG of theG subpixel and the grayscale value NewB of the B subpixel in this wayachieves a sufficiently accurate approximation.

In one embodiment, as illustrated in FIG. 8, a display driver 2A may beconfigured to perform an eight-color halftoning process as well as asubpixel rendering process. The “eight-color halftoning process”referred herein is a process of converting image data associated with anoriginal image into image data in which the number of allowed colors ofeach pixel is eight, that is, the number of the allowed grayscale levelsof each of the R, G and B subpixel of each pixel is two. When aneight-color halftoning process is performed on image data associatedwith a specific pixel, the resultant image data is generated asthree-bit data which specifies “turn-on” or “turn-off” of each of the R,G and B subpixel of the pixel. Here, the “turn-on” of a subpixel meansdriving the subpixel with a grayscale voltage corresponding to theallowed maximum grayscale value, and the “turn-off” of a subpixel meansdriving the subpixel with a grayscale voltage corresponding to theallowed minimum grayscale value.

As illustrated, the display driver 2A includes an interface controlcircuitry 41, an image processing circuitry 42, a grayscale voltagegenerator circuitry 43, a data line drive circuitry 44, a timing controlcircuitry 45 and a panel interface circuitry 46.

In various embodiments, the interface control circuitry 41 forwards theimage data 32 received from the host 3 to the image processing circuitry42. Additionally, the interface control circuitry 41 controls therespective circuitries of the display driver 2 in response to controlparameters and commands included in the control data 33. The imageprocessing circuitry 42 generates display data 34 used to drive thedisplay panel 1 by performing image data processing on the image data 32received from the interface control circuitry 41. The grayscale voltagegenerator circuitry 43 generates a set of grayscale voltages V₀ to V_(M)respectively corresponding to the allowed values of the grayscale valuesdescribed in the display data 34. The data line drive circuitry 44drives the respective data lines 5 with the grayscale voltagescorresponding to the grayscale values described in the display data 34.In one embodiment, the data line drive circuitry 44 selects thegrayscale voltages corresponding to the grayscale values described inthe display data 34 for the respective data lines 5, from among thegrayscale voltages V₀ to V_(M) received from the grayscale voltagegenerator circuitry 43, and drives the respective data lines 5 to theselected grayscale voltages. The timing control circuitry 45 performstiming control of the respective circuitries of the display driver 2 inresponse to control signals received from the interface controlcircuitry 41. The panel interface circuitry 46 supplies the gate controlsignals 31 to the gate line drive circuitries 7 of the display panel 1to thereby control the gate line drive circuitries 7.

In this embodiment, the grayscale voltage generator circuitry 43 isconfigured to stop generating the grayscale voltages corresponding tointermediate grayscale values (that is, the grayscale voltages otherthan the grayscale voltages corresponding to the allowed maximum andminimum grayscale values). Out of the grayscale voltages V₀ to V_(M),the grayscale voltage V₀ corresponds to the allowed minimum grayscalevalue and the grayscale voltage V_(M) corresponds to the allowed maximumgrayscale value. Accordingly, the grayscale voltages V₁ to V_(M-1)respectively correspond to the intermediate grayscale values. Inresponse to an instruction by the grayscale voltage control signalssupplied from the interface control circuitry 41, the grayscale voltagegenerator circuitry 43 stops generating the grayscale voltages V₁ toV_(M-1), which correspond to the intermediate grayscale values.

In one or more embodiments, the gamma characteristics of the data linedrive circuitry 44 depend on the distribution of the voltage levels ofthe grayscale voltages V₀ to V_(M) supplied from the grayscale voltagegenerator circuitry 43. To set the data line drive circuitry 44 todesired gamma characteristics, the distribution of the voltage levels ofthe grayscale voltages V₀ to V_(M) is determined in accordance with thedesired gamma characteristics. The grayscale voltages V₀ to V_(M)generated by the grayscale voltage generator circuitry 43 are controlledby grayscale voltage control signals supplied from the interface controlcircuitry 41.

The gamma characteristics of the entire display driver 2 are determinedas a superposition of the gamma characteristics of the image processingperformed in the image processing circuitry 42 and the gammacharacteristics of the data line drive circuitry 44. To display an imagewith appropriate brightness, the gamma characteristics of the entiredisplay driver 2 may be set to match the gamma characteristics of thedisplay panel 1.

In this embodiment, the image processing circuitry 42 is configured toperform a subpixel rendering process and an eight-color halftoningprocess. More specifically, the image processing circuitry 42 includes asubpixel rendering circuitry 47, an eight-color halftoning circuitry 48and a selector 49 in this embodiment.

The subpixel rendering circuitry 47 performs a subpixel renderingprocess on the image data 32 received from the interface controlcircuitry 41 to generate SPR-processed image data 35 and supplies thegenerated SPR-processed image data 35 to the eight-color halftoningcircuitry 48 and the selector 49. Hereinafter, the image correspondingto the SPR-processed image data may be referred to as SPR-processedimage. The subpixel rendering circuitry 47 also supplies the addressindicating the position of each pixel in the SPR-processed image to theeight-color halftoning circuitry 48. When supplying an SPR-processedimage data 35 associated with a certain pixel to the eight-colorhalftoning circuitry 48, the subpixel rendering circuitry 47 suppliesthe address of the pixel to the eight-color halftoning circuitry 48 insynchronization with the supply of this SPR-processed image data 35.

In one embodiment, the subpixel rendering circuitry 47 may be configuredsimilarly to the subpixel rendering circuitry 20 illustrated in FIG. 2.In this case, the subpixel rendering circuitry 47 may perform thesubpixel rendering process as described above. In an alternativeembodiment, the subpixel rendering circuitry 47 may perform a differentsubpixel rendering process.

The eight-color halftoning circuitry 48 generates binary image data 36by performing an eight-color halftoning process on the SPR-processedimage data 35.

The selector 49 selects one of the SPR-processed image data 35 receivedfrom the subpixel rendering circuitry 47 and the binary image data 36received from the eight-color halftoning circuitry 48, and supplies theselected image data to the data line drive circuitry 44 as the displaydata 34. The data line drive circuitry 44 drives the display panel 1 inresponse to the display data 34 received from the selector 49.

In one or more embodiments, when causing the image processing circuitry42 to perform the eight-color halftoning process, the interface controlcircuitry 41 supplies an image processing control signal to the imageprocessing circuitry 42 to instruct to perform the eight-colorhalftoning process. The selector 49 selects the binary image data 36 inresponse to the image processing control signal. Additionally, theinterface control circuitry 41 supplies the grayscale voltage controlsignals to the grayscale voltage generator circuitry 43 to instruct tostop generating the grayscale voltages V₁ to V_(M-1), which correspondto the intermediate grayscale values. The grayscale voltage generatorcircuitry 43 stops generating the grayscale voltages V₁ to V_(M-1),which correspond to the intermediate grayscale values, in response tothe grayscale voltage control signals. This allows reducing the powerconsumption of the grayscale voltage generator circuitry 43. Note that,in some embodiments, the generation of the grayscale voltages V₀ andV_(M), which correspond to the allowed minimum and maximum grayscalevalues, respectively, is continued even when the generation of thegrayscale voltages V₁ to V_(M-1), which correspond to the intermediategrayscale values, is stopped.

Although FIG. 8 illustrates the configuration in which the subpixelrendering circuitry 47 performs the subpixel rendering process on theimage data 32 received from the interface control circuitry 41, thesubpixel rendering circuitry 47 may perform the subpixel renderingprocess on image data generated by performing desired image dataprocessing on the image data 32. Although FIG. 8 illustrates theconfiguration in which the SPR-processed image data 35 output from thesubpixel rendering circuitry 47 are supplied to the selector 49, imagedata generated by performing desired image data processing on theSPR-processed image data 35 may be supplied to the selector 49 in placeof the SPR-processed image data 35.

In some embodiments, to achieve an eight-color halftoning process onmulti-grayscale-level image data may be to determine whether eachsubpixel is to be “turned-on” or “turned off”, depending on the mostsignificant bit of data indicating the grayscale value of the subpixel;note that the SPR-processed image data 35 are a sort ofmulti-grayscale-level image data. By “turning on” each subpixel of thepixel of interest when the most significant bit of the data indicatingthe grayscale value of the subpixel is “1” and “turning off” eachsubpixel when the most significant bit of the data indicating thegrayscale value of the subpixel is “0”, it is possible to display animage in which the number of the allowed colors of each pixel is eight.This eight-color halftoning process, however, largely deteriorates theimage quality, because spatial changes in the grayscale values in theimage cannot be sufficiently represented.

The eight-color halftoning process can be considered as a colorreduction process which reduces an increased number of bits. Therefore,a dithering process, which is known as one of color reduction processeswhich effectively suppress image quality deterioration, may be apotential eight-color halftoning process. Performing a dithering processallows representing spatial changes in the grayscale values in the imageand thereby reducing image quality deterioration. In some embodiments, adithering process is achieved by adding a dither value determined in arandom manner to image data and then truncating one or more lower bits.The term “random” referred herein means that the probabilities in whichthe dither value takes the respective allowed values are the same. Forexample, an eight-color halftoning process with respect to image datawhich represents the grayscale value of each subpixel with eight bitscan be achieved by adding an eight-bit dither value to the image data ofeach subpixel (note that the resultant value is nine bits), andextracting the most significant bit (that is, truncating the lower eightbits).

In various embodiments, generation of a dither value used in thedithering process is achieved by reading out a dither value from adither table describing allowed dither values as elements, in responseto the address of the pixel of interest. FIG. 9 illustrates one exampleof a dither table which includes 16×16 elements and describes eight-bitdither values as the respective elements. The dither table illustratedin FIG. 9 includes 256 elements and the dither values described in therespective elements are set to different values from zero to 255. Inother words, the dither table illustrated in FIG. 9 is determined sothat the number of elements taking each of the values from zero to 255is one. For example, a random dither value can be generated by selectinga dither value from the 256 elements of the dither table illustrated inFIG. 9 in response to the lower four bits of the X address and the lowerfour bits of the Y address, where the X address is the addressindicating the position in the horizontal direction of the display panel1 (the direction in which the gate lines are extended), and the Yaddress is the address indicating the position in the vertical direction(the direction in which the data lines are extended).

It should be noted that the setting of the gamma characteristics of thedata line drive circuitry 44 with the distribution of the voltage levelsof the grayscale voltages V₀ to V_(M) the does not work when an image isdisplayed in response to image data obtained through an eight-colorhalftoning process, because the displayed image only includes subpixelsof the allowed maximum grayscale value and the allowed minimum value.When the eight-color halftoning process is performed, the grayscalevoltages V₁ to V_(M-1), which correspond to intermediate grayscalevalues, are not used and therefore the setting of the grayscale voltagesV₁ to V_(M-1) does not have any effects on the gamma characteristics ofthe data line drive circuitry 44.

It should be also noted that, when an eight-color halftoning process isachieved through a dithering process with a dither value determined in arandom way, such eight-color halftoning process is equivalent to imageprocessing of a gamma value γ of one. FIG. 10 illustrates the gammacharacteristics of an eight-color halftoning process achieved through adithering process with a dither value determined in a random way, wherethe grayscale value of each subpixel is represented with an eight bitvalue (from zero to 255). In FIG. 10, the solid line indicates the gammacharacteristics of the eight-color halftoning process achieved throughthe dithering process with a dither value determined in a random way andthe broken line indicates the gamma characteristics of a gamma value of2.2.

When a dither processing is performed on image data associated with acertain subpixel with a dither value determined in a random manner, theprobability in which the subpixel is “turned on” increases in proportionto the grayscale value specified by the image data associated with thesubpixel. When the grayscale value specified for a certain subpixel is“0”, the probability in which the subpixel is “turned on” is 0%, and,when the grayscale value is “255”, the probability is 100%. For agrayscale value of “128”, the subpixel is “turned off” when the dithervalue is zero to 127, and “turned on” when the dither value is 128 to255. In other words, for a grayscale value of “128”, the subpixel is“turned on” with a probability of 50% and “turned off” with aprobability of 50%. Accordingly, the effective brightness level of thesubpixel in the displayed image is 50% of the allowed maximum brightnesslevel. As thus discussed, the probability in which a subpixel is “turnedon” increases in proportion to the grayscale value specified for thesubpixel and the effective brightness level of the subpixel in thedisplayed image also increases in proportion to the grayscale valuespecified for the subpixel. This implies that the gamma value of thedithering process with a dither value determined in a random way is one.

Accordingly, the eight-color halftoning process achieved through adithering process with a dither value determined in a random way maycause mismatching of the gamma characteristics of the entire displaydriver 2 and those of the display panel 1, and results in that thebrightness level of each subpixel may not be appropriately representedin the displayed image, although the eight-color halftoning process canrepresent spatial changes in the grayscale values in the displayedimage.

The eight-color halftoning circuitry 48 of this embodiment is configuredto perform an eight-color halftoning process based on a ditheringprocess, while addressing this problem. In the following, a descriptionis given of the configuration and operation of the eight-colorhalftoning circuitry 48 in this embodiment.

FIG. 11 is a block diagram illustrating the eight-color halftoningcircuitry 48. In this embodiment, the eight-color halftoning circuitry48, which is configured to perform a dithering process with a dithervalue, includes an LUT (lookup table) circuitry 51 and an addercircuitry 52.

The LUT circuitry 51 is a storage circuitry storing a dither table 53.The LUT circuitry 51 selects a dither value D_(DITHER) from the elementsof the dither table 53 in response to the X address and Y address of thepixel of interest supplied from the subpixel rendering circuitry 47 andsupplies the selected dither value D_(DITHER) to the adder circuitry 52.In FIG. 11, the X address and Y address are indicated by the legend “(X,Y)”. Here, the X address of the pixel of interest indicates the positionin the horizontal direction (the direction corresponding to thedirection in which the gate lines are extended in the display panel 1)in the SPR-processed image (the image corresponding to the SPR-processedimage data 35), and the Y address indicates the position in the verticaldirection (the direction corresponding to the direction in which thedata lines are extended in the display panel 1) in the SPR-processedimage. When the grayscale values D_(SPR) ^(R), D_(SPR) ^(G) and D_(SPR)^(B) of the R, G and B subpixels of each pixel are described with m bitsin the SPR-processed image data 35 for m being an integer of two ormore, each element of the dither table 53 has an m-bit value, and thedither value D_(DITHER) also has an m-bit value. In this case, thenumber of the elements of the dither table 53 is 2^(m).

In this embodiment, in which the grayscale values D_(SPR) ^(R), D_(SPR)^(G) and D_(SPR) ^(B) of the R, G and B subpixels of each pixel aredescribed with eight bits in the SPR-processed image data 35, eachelement of the dither table 53 takes an eight-bit value selected from“0” to “255”. The dither table 53 has elements of 16 rows and 16columns. It should be noted however that, as described later In oneembodiment, two or more elements may take the same value in the dithertable 53 of the eight-color halftoning circuitry 48 illustrated in FIG.11. In this embodiment, in which the dither table 53 has elements of 16rows and 16 columns, the LUT circuitry 51 selects the dither valueD_(DITHER) from the 256 elements of the dither table 53 in response tothe lower four bits of the X address of the pixel of interest and thelower four bits of the Y address.

The adder circuitry 52 receives the SPR-processed image data 35 from thesubpixel rendering circuitry 47 and adds the dither value supplied fromthe LUT circuitry 51 to the grayscale value of each subpixel of eachpixel described in the SPR-processed image data 35. In one embodiment,for the R, G and B subpixels of the pixel of interest described in theSPR-processed image data 35, the adder circuitry 52 calculates the sumsSUM^(R), SUM^(G) and SUM^(B) in accordance with the followingexpressions (21a) to (1c):SUM^(R) =D _(SPR) ^(R) +D _(DITHER)  ,(21a)SUM^(G) =D _(SPR) ^(G) +D _(DITHER), and  (21b)SUM^(B) =D _(SPR) ^(B) +D _(DITHER)  ,(21c)where D_(SPR) ^(R) is the grayscale value of the R subpixel of the pixelof interest described in the SPR-processed image data 35, D_(SPR) ^(G)is the grayscale value of the G subpixel of the pixel of interest, andD_(SPR) ^(B) is the grayscale value of the B subpixel of the pixel ofinterest. The most significant bits of the sums SUM^(R), SUM^(G) andSUM^(B) are output as the binary image data 36. It should be noted thateach of the sums SUM^(R), SUM^(G) and SUM^(B) is a nine-bit value inthis embodiment, in which each of the grayscale values D_(SPR) ^(R),D_(SPR) ^(G) and D_(SPR) ^(B) of the R, G and B subpixels described inthe SPR-processed image data 35 is an eight-bit value and the dithervalue D_(DITHER) is also an eight-bit value. The binary image data 36indicates whether each of the R, G and B subpixels of each pixel is tobe “turned on” or “turned off” with one bit, and the bits D_(BN) ^(R),D_(BN) ^(G) and D_(BNB) of the binary image data 36, which respectivelycorrespond to the R, G and B subpixels of the pixel of interest, can berepresented by the following expressions (22a) to (22c):D _(BN) ^(R) =MSB[SUM^(R)],  (22a)D _(BN) ^(G) =MSB[SUM^(G)], and  (22b)D _(BN) ^(B) =MSB[SUM^(B)].  (22c)

In the eight-color halftoning circuitry 48 illustrated in FIG. 11, thefrequency distribution of the values of the elements of the dither table53 is specially designed to provide the eight-color halftoning circuitry48 with the gamma characteristics of a desired gamma value. It ispossible to achieve a dithering process of various gamma characteristicsby appropriately designing the frequency distribution of the dithertable used for the dither process. In this specification, the frequencydistribution of the values of the elements of a dither table means thedistribution of the number N(p) of the elements having a value of p. Ingeneral, a dither table used in a dithering process is determined sothat the number of elements taking each allowed value is one, that is,N(p)=1 for any q. FIG. 9 illustrates such a 16-row-16-column dithertable, and the dithering process using the dither table illustrated inFIG. 9 has gamma characteristics of a gamma value of one as describedabove. In contrast, use of a dither table in which the frequencydistribution is uneven (that is, the number N(p) of the elements havinga value of p depends on p) allows performing various image processing inaccompany with the dithering process. Note that, there are integers p₁and p₂ from zero to 2^(m)−1, for which the numbers N(p₁) and N(p₂) ofelements taking values p₁ and p₂ are different in the dither table, whenthe frequency distribution is uneven.

Discussed below is an example in which an eight-color halftoning processbased on a dithering process is performed on the SPR-processed imagedata 35 which describe the grayscale values D_(SPR) ^(R), D_(SPR) ^(G)and D_(SPR) ^(B) of the R, G and B subpixels, by using an m-bit dithervalues D_(DITHER). The bit B_(BN) ^(k) of the binary image data 36 iscalculated as the most significant bit of the sum D_(SPR)^(k)+D_(DITHER), where k is any of “R”, “G” and “B”. In this case, theeffective brightness level of a subpixel in the display image becomes(q/2^(m)) times of the allowed maximum brightness level when the valuesof the elements of the dither table 53 are determined so that q of the2^(m) elements of the dither table 53 have a value equal to or more than2^(m)−p, for any allowed value p of the grayscale value D_(SPR) ^(k) ofeach subpixel. In some embodiments, it is possible to achieve aneight-color halftoning process of the gamma characteristics of a gammavalue γ, by defining q in accordance with the following expression (23):

$\begin{matrix}{q = {{floor}( {{( {2^{m} - 1} ) \cdot ( \frac{p}{2^{m} - 1} )^{\gamma}} + 0.5} )}} & (23)\end{matrix}$where floor(x) is the floor function which gives the greatest integerthat is less than or equal to x. The addition of the value 0.5 and thefloor function floor(x) are merely introduced to provide rounding to aninteger. The rounding may be achieved with a different method.

When m is eight and the grayscale value D_(SPR) ^(k) of a certainsubpixel is 186, the brightness level of the subpixel is to be set to0.5 (=128/256) times of the allowed maximum brightness level, to achievethe gamma characteristics of a gamma value of 2.2. In this case, thedesired brightness level can be achieved for the subpixel, by defining pas 186 and q as 128, and designing the dither table 53 so that 128 ofthe 256 elements of the dither table 53 have a value equal to or morethan 70.

FIG. 12 illustrates one example of the values of the respective elementsof the dither table 53 for m being eight, when an eight-color halftoningprocess of the gamma characteristics of a gamma value γ of 2.2 isperformed. The dither table 53 illustrated in FIG. 12 is determines sothat q of the 2^(m) elements of the dither table 53 have a value equalto or more than 2^(m)−p for any of the allowed value p of the grayscalevalue D_(SPR) ^(k) of each subpixel, for q defined in accordance withthe following expression (24):

$\begin{matrix}{q = {{floor}( {{255( \frac{p}{255} )^{2.2}} + 0.5} )}} & (24)\end{matrix}$

More specifically, the dither table 53 illustrated in FIG. 12 isobtained by performing a conversion on the dither table illustrated inFIG. 9 in accordance with the following expression (25):

$\begin{matrix}{{\beta( {i,j} )} = {{floor}\lbrack {256 - {255 \cdot ( \frac{\alpha( {i,j} )}{255} )^{({1/2.2})}} + 0.5} \rbrack}} & (25)\end{matrix}$where α(i, j) is the value of the element in the i-th row and the j-thcolumn of the dither table illustrated in FIG. 9, β(i, j) is the valueof the element in the i-th row and the j-th column of the dither table53 illustrated in FIG. 12, and floor(x) is the floor function whichgives the greatest integer equal to or less than x. The use of thedither table 53 illustrated in FIG. 12 allows the eight-color halftoningcircuitry 48 illustrated in FIG. 11 to perform a dithering process of agamma value γ of 2.2.

In some embodiments, when the grayscale value D_(SPR) ^(k) of eachsubpixel described in the SPR-processed image data 35 is an m-bit valueand the dither value is also an m-bit value, a dither table 53 whichachieves a dithering process of a gamma value γ can be generated throughthe following procedure:

(1) Generate a first dither table in which the number of elements takingeach allowed value is one (that is, N(p)=1 for any q), through acommonly-used method. Note that the first dither table has 2^(m)elements; and

(2) perform conversion on the first dither table thus generated inaccordance with the following expression (26):

$\begin{matrix}{{\beta( {i,j} )} = {{floor}\lbrack {2^{m} - {2^{m - 1} \cdot ( \frac{\alpha( {i,j} )}{2^{m - 1}} )^{({1/\gamma})}} + 0.5} \rbrack}} & (26)\end{matrix}$where α(i, j) is the value of the element in the i-th row and the j-thcolumn of the first dither table, and β(i, j) is the value of theelement in the i-th row and the j-th column of the second dither tableobtained by this conversion.

FIGS. 13 and 14 schematically illustrate one example of the subpixelrendering process and the eight-color halftoning process performed inthe image processing circuitry 42 in this embodiment. In the exampleillustrated in FIGS. 13 and 14, the image data 32 correspond to anoriginal image in which pixels for which the grayscale values D_(SPR)^(k) of the respective subpixels (the R subpixel, G subpixel and Bsubpixel) are all equal to the allowed minimum grayscale value “0” andpixels for which the grayscale values D_(SPR) ^(k) of the respectivesubpixels (the R subpixel, G subpixel and B subpixel) are all equal tothe allowed maximum grayscale value “255” are alternately arranged. Inthe subpixel rendering process in the subpixel rendering circuitry 47,the grayscale value of each subpixel of each pixel of the SPR-processedimage data 35 is calculated from the grayscale values of the respectivesubpixels of two adjacent pixels in the original image so that thebrightness level is averaged. As a result, the grayscale value of eachsubpixel of each pixel of the SPR-processed image data 35 is calculatedas “186” in one example.

An eight-color halftoning process is then performed on the SPR-processedimage data 35 by the eight-color halftoning circuitry 48. In theeight-color halftoning circuitry 48, the eight-color halftoning processis performed with the gamma characteristics of a gamma value of 2.2. Asdescribed above, when the grayscale value D_(SPR) ^(k) of each subpixelis described as 186 in the SPR-processed image data 35, the brightnesslevel of each subpixel is to be 50% (≈128/255) for the gammacharacteristics of the gamma value of 2.2.

In this embodiment, the LUT circuitry 51 selects the dither valueD_(DITHER) to be supplied to the adder circuitry 52 from the elements ofthe dither table 53 illustrated in FIG. 12. As described above, thevalues of the respective elements of the dither table 53 illustrated inFIG. 12 are determined in the frequency distribution which achieves thegamma characteristics of a gamma value of 2.2. The adder circuitry 52adds the dither value D_(DITHER) received from the LUT circuitry 51 tothe grayscale value D_(SPR) ^(k) of each subpixel and to calculate thesum SUM^(k). The bit D_(BN) ^(k) associated with the subpixel of thecolor k of the binary image data 36 is determined as the mostsignificant bit of the sum SUM^(k).

Discussed in the following is the case where the above-described processis performed on the grayscale value D_(SPR) ^(k) of each subpixeldescribed in the SPR-processed image data 35 for pixels arrayed in 16rows and 16 columns. When the dither table 53 illustrated in FIG. 12 isused and the grayscale value D_(SPR) ^(k) of each subpixel is “186”, thebit D_(BN) ^(k) is calculated as a value of “1” with respect to 128 ofthe 16×16 pixels. This is because the most significant bit of the sumSUM^(k) is “1” with respect to the 128 of the 16×16 pixels, when thedither value D_(DITHER) is selected from the elements of the dithertable 53 illustrated in FIG. 12. Accordingly, the subpixel of each colork is “turned on” in the 128 of the 16×16 pixels. This implies that theeffective brightness level of the subpixels of each color k of thepixels is 50% of the allowed maximum brightness level in the displayedimage. Accordingly, the eight-color halftoning process of thisembodiment achieves the gamma characteristics of a gamma value of 2.2,appropriately representing the brightness level of each pixel in thedisplayed image.

As discussed above, this embodiment provides image data processingtechnology which achieves both of a subpixel rendering process and aneight-color halftoning process. The eight-color halftoning of thisembodiment allows representing spatial changes in the grayscale value inthe displayed image and appropriately representing the brightness levelof each pixel in the displayed image.

Although embodiments of the present disclosure have been specificallydescribed in the above, it would be understood to a person skilled inthe art that the technologies of the present disclosure may beimplemented with various modifications.

What is claimed is:
 1. A method for driving a display panel, the methodcomprising: determining, by squaring input grayscale values, input-sidesquared grayscale values for pixels of input image data, whereinsquaring the input grayscale values comprises squaring a first inputgrayscale value of the input grayscale values and squaring a secondinput grayscale value of the input grayscale values; calculating a firstprocessed grayscale value based on the first squared input grayscalevalue and the second squared input grayscale value; generating outputimage data by independently correcting the input-side squared grayscalevalues based on correction values; and driving the display panel basedon the output image data.
 2. The method of claim 1, wherein squaring theinput grayscale values comprises squaring a third input grayscale valueof the input grayscale values, and wherein calculating the firstprocessed grayscale value is further based on the third squared inputgrayscale value.
 3. The method of claim 2, wherein squaring the inputgrayscale values further comprises squaring a fourth input grayscalevalue of the input grayscale values, and wherein the method furthercomprises: calculating a second processed grayscale value based on thethird squared input grayscale value, and the fourth squared inputgrayscale value.
 4. The method of claim 1 further comprising:determining the correction values based on a correction parameter andthe input grayscale values.
 5. The method of claim 4, whereindetermining the correction values comprises: determining a firstcorrection value of the correction values based on a combination of thefirst input grayscale value of the input grayscale values, the secondinput grayscale value of the input grayscale values, and a third inputgrayscale value of the input grayscale values, and the correctionparameter, the first correction value is associated with a first pixelof the display panel.
 6. The method of claim 5, wherein determining thecorrection values further comprises: determining a second correctionvalue of the correction values based on a combination of the third inputgrayscale value and a fourth input grayscale value of the inputgrayscale values, and the correction parameter, the second correctionvalue is associated with a second pixel of the display panel.
 7. Themethod of claim 6, wherein the first input grayscale value correspondsto the first pixel, the second input grayscale value corresponds to thesecond pixel, the third input grayscale value corresponds to a thirdpixel of the display panel, and the fourth input grayscale valuecorresponds to a fourth pixel of the display panel.
 8. A display drivercomprising: subpixel rendering (SPR) circuitry configured to: determine,by squaring input grayscale values, input-side squared grayscale valuesfor pixels of an input image, wherein squaring the input grayscalevalues comprises squaring a first input grayscale value of the inputgrayscale values and squaring a second input grayscale value of theinput grayscale values; calculate a first processed grayscale valuebased on the first squared input grayscale value and the second squaredinput grayscale value; generate output image data by independentlycorrecting the input-side squared grayscale values based on correctionvalues; and drive circuitry configured to drive a display panel based onthe output image data.
 9. The display driver of claim 8, whereinsquaring the input grayscale values comprises squaring a third inputgrayscale value of the input grayscale values, and wherein the SPRcircuitry is further configured to: calculate the first processedgrayscale value further based on the third squared input grayscalevalue.
 10. The display driver of claim 9, wherein squaring the inputgrayscale values further comprises squaring a fourth input grayscalevalue of the input grayscale values, and wherein the SPR circuitry isfurther configured to: calculate a second processed grayscale valuebased on the third squared input grayscale value, and the fourth squaredinput grayscale value.
 11. The display driver of claim 8, wherein theSPR circuitry is further configured to determine the correction valuesbased on a correction parameter and the input grayscale values.
 12. Thedisplay driver of claim 11, wherein determining the correction valuescomprises: determining a first correction value of the correction valuesbased on a combination of the first input grayscale value of the inputgrayscale values, the second input grayscale value of the inputgrayscale values, and a third input grayscale value of the inputgrayscale values, and the correction parameter, the first correctionvalue is associated with a first pixel of the display panel.
 13. Thedisplay driver of claim 12, wherein determining the correction valuesfurther comprises: determining a second correction value of thecorrection values based on a combination of the third input grayscalevalue and a fourth input grayscale value of the input grayscale values,and the correction parameter, the second correction value is associatedwith a second pixel of the display panel.
 14. The display driver ofclaim 13, wherein the first input grayscale value corresponds to thefirst pixel, the second input grayscale value corresponds to the secondpixel, the third input grayscale value corresponds to a third pixel ofthe display panel, and the fourth input grayscale value corresponds to afourth pixel of the display panel.
 15. A display device comprising: adisplay panel; and a display driver configured to: determine, bysquaring input grayscale values, input-side squared grayscale values forpixels of an input image, wherein squaring the input grayscale valuescomprises squaring a first input grayscale value of the input grayscalevalues and squaring a second input grayscale value of the inputgrayscale values; calculate a first processed grayscale value based onthe first squared input grayscale value and the second squared inputgrayscale value; generate output image data by independently correctingthe input-side squared grayscale values based on correction values; anddrive the display panel based on the output image data.
 16. The displaydevice of claim 15, wherein squaring the input grayscale valuescomprises squaring a third input grayscale value of the input grayscalevalues, and wherein the display driver is further configured to:calculate the first processed grayscale value further based on the thirdsquared input grayscale value.
 17. The display device of claim 16,wherein squaring the input grayscale values further comprises squaring afourth input grayscale value of the input grayscale values, and whereinthe display driver is further configured to: calculate a secondprocessed grayscale value based on the third squared input grayscalevalue, and the fourth squared input grayscale value.
 18. The displaydevice of claim 15, wherein the display driver is further configured todetermine the correction values based on a correction parameter and theinput grayscale values.
 19. The display device of claim 18, whereindetermining the correction values comprises: determining a firstcorrection value of the correction values based on a combination of thefirst input grayscale value of the input grayscale values, the secondinput grayscale value of the input grayscale values, and a third inputgrayscale value of the input grayscale values, and the correctionparameter, the first correction value is associated with a first pixelof the display panel.
 20. The display device of claim 19, whereindetermining the correction values further comprises: determining asecond correction value of the correction values based on a combinationof the third input grayscale value and a fourth input grayscale value ofthe input grayscale values, and the correction parameter, the secondcorrection value is associated with a second pixel of the display panel.